草庐IT

iOS 随机数的高斯分布

全部标签

c# - 你如何在C#中获得随机的当前种子?

在我的游戏中,我将使用随机值来选择玩家从宝箱中获得的奖励。问题是您可以快速保存和快速加载,这意味着他们可以不断重新加载以重新随机化,直到他们得到他们想要的东西。有没有什么方法可以获取我的Random对象的当前种子值,并可能在它们加载时返回到同一点,这样它们就不会滥用随机化? 最佳答案 这是不可能的。相反,您可以使用二进制序列化来序列化Random实例。Random是[Serializable],种子和内部状态将持续存在。但是请注意,保存随机种子可以让您的玩家预测future,如果您允许在战斗中保存,这将非常有用。另请注意,用户仍然可

c# - 随机字符串 c#

我想知道随机串示例字符串stringword;//Iwanttoshuffleitword="hello"我将能够得到:rand=="ohlel"rand=="lleho"etc. 最佳答案 这个解决方案(以扩展方法的形式)很好:publicstaticstringShuffle(thisstringstr){char[]array=str.ToCharArray();Randomrng=newRandom();intn=array.Length;while(n>1){n--;intk=rng.Next(n+1);varvalue=

c# - C#中如何从数组中获取随机值

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Accessrandomiteminlist我有一个包含数字的数组,我想从这个数组中获取随机元素。例如:{0,1,4,6,8,2}。我想选择6并将这个数字放在另一个数组中,新数组的值为{6,....}。我使用random.next(0,array.length),但这给出了长度的随机数,我需要随机数组数。for(inti=0;i

c# - IO monad 在像 C# 这样的语言中有意义吗

在花了很多时间阅读和思考之后,我想我终于掌握了monad是什么、它们如何工作以及它们有什么用处。我的主要目标是弄清楚monad是否可以应用于我在C#中的日常工作。当我开始学习monad时,我的印象是它们很神奇,它们以某种方式使IO和其他非纯函数变得纯。我理解monad对于.Net中的LINQ之类的东西的重要性,并且Maybe对于处理不返回有效值的函数非常有用。我也很欣赏限制代码状态和​​隔离外部依赖的需要,我希望monad也能帮助解决这些问题。但我最终得出结论,用于IO和处理状态的monad是Haskell的必需品,因为Haskell没有其他方法可以做到这一点(否则,你无法保证顺序,并

c# - 在 C# 中播种伪随机数生成器

我需要一个C#的Random类实例的种子,我了解到大多数人为此使用当前时间的滴答计数器。但这是一个64位值,种子需要是一个32位值。现在我认为返回int的GetHashCode()方法应该为其对象提供合理分布的值,这可以用来避免仅使用较低的32-滴答计数的位。但是,我找不到有关Int64数据类型的GetHashCode()的任何信息。所以,我知道这无关紧要,但接下来的工作是否会像我想的那样好(我不能试错随机性),或者它可能与使用(int)DateTime.Now.Ticks作为种子?或者它甚至可能更糟?谁能阐明这一点。intseed=unchecked(DateTime.Now.Tic

c# - Asp.net 随机停止遵守表单例份验证白名单

问题上个月,我们将我们的asp.net网站场从Server2008R2迁移到Server2012R2,并升级到asp.net4.5。我们正在使用cookie表单例份验证来防止未经授权访问网站。我们有一些在web.config中列入白名单的Assets和页面(例如:登录页面):在过去的几个月里,我们一直注意到IIS/Asp.net随机地停止遵守白名单并假设所有内容都需要经过身份验证。该服务器上对该站点的所有请求都将被重定向到登录页面,然后该页面会抛出500错误。无法检索任何列入白名单的Assets。当IIS出现问题时,我们可以在事件查看器中看到2个错误。第一个:Exceptiontype

c# - 如何确定分布式架构?

在设计大型应用程序时,我正在努力了解思考过程。假设我有一个客户需要一个新的客户网站,他估计每天有40,000个订单,而用户群已经有25,000个。在设计应用程序时,您如何确定是否需要分布式架构?我应该使用网络农场吗?等我过去主要构建2层(物理)应用程序,我真的想提高我的理解。任何见解都会很棒! 最佳答案 从一开始就对您的新应用进行负载测试。由于预先进行大型设计永远不会给您带来预期的结果(15年以上的经验),所以最好的办法是针对变化进行设计,让正确的架构从您的需求中浮现出来。根据您的描述,对该项目采用敏捷方法,并使用其实践来指导您的项

c# - 执行文件io时如何正确处理异常

我经常发现自己以某种方式与文件交互,但在编写代码后,我总是不确定它实际上有多健壮。问题是我不完全确定文件相关操作会如何失败,因此也不确定处理异常的最佳方式。简单的解决方案似乎只是捕获代码抛出的任何IOExceptions并向用户提供“无法访问的文件”错误消息,但是否有可能获得更细粒度的错误信息?有没有办法确定文件被另一个程序锁定等错误与由于硬件错误导致数据不可读之间的区别?给定以下C#代码,您将如何以用户友好(尽可能提供信息)的方式处理错误?publicclassIO{publicListReadFile(stringpath){FileInfofile=newFileInfo(pat

C#:从 IEnumerable 获取随机值的优雅代码

在Python中,我可以这样做:>>>importrandom>>>ints=[1,2,3]>>>random.choice(ints)3在C#中,我做的第一件事是:varrandgen=newRandom();varints=newint[]{1,2,3};ints[randgen.Next(ints.Length)];但这需要索引,ints的重复也困扰着我。所以,我想到了这个:varrandgen=newRandom();varints=newint[]{1,2,3};ints.OrderBy(x=>randgen.Next()).First();仍然不是很好和高效。是否有更优雅的

qemu-kvm IO优化

主要是磁盘方面的IO资源优化 四个方面去着手优化:1.磁盘类型选择 2.缓存模式选择 3.AIO异步读写方式选择 4.磁盘IO调度器选择1.磁盘的类型有IDE、SATA以及virtio三种 建议使用virtio2. 磁盘缓存模式 目前KVM这块支持5种磁盘缓存模式,writethrough、writeback、none、directsync或者unsafe。一般用到的就是前面3种,后面两种几乎不会使用。 writethrough:(直写模式)数据直接写入磁盘里,不使用缓存;在数据更新时,同时写入缓存Cache和后端存储。此模式的优点是操作简单;缺点是因为数据修改需要同时写入存储,数据写入速度较